package com.spark.invoicings.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import lombok.Data;

/**
 * 供应商对账表
 * 
 * @author sunyan
 * @email sunyan@gmail.com
 * @date 2024-06-13 11:16:27
 */
@Data
@TableName("t_finance_supplier_statement")
public class SupplierStatement implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 供应商对账ID
	 */
	@TableId(type = IdType.AUTO)
	private Integer supplierStatementId;
	/**
	 * 供应商账单编号
	 */
	private String billNumber;
	/**
	 * 供应商ID
	 */
	private Long supplierId;
	/**
	 * 对账起始日
	 */
	private Date startDate;
	/**
	 * 对账终止日
	 */
	private Date endDate;
	/**
	 * 对账人
	 */
	private String statementPerson;
	/**
	 * 账单创建日期
	 */
	private Date billCreationDate;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 本期应收金额
	 */
	private double currentReceivableAmount;
	/**
	 * 本期已收金额
	 */
	private double currentReceivedAmount;
	/**
	 * 本期待收金额
	 */
	private double currentPendingAmount;

	/**
	 * 审批人
	 * */
	private String approver;
	/**
	 * 审批时间
	 * */
	private String approvalTime;

	/**
	 * 供应商对账单明细关联对象
	 * */
	@TableField(exist = false)
	private List<SupplierStatementDetail> statementDetails;

	/**
	 * 供应商关联对象
	 * */
	@TableField(exist = false)
	private ProcuredSupplier procuredSupplier;

	public String getApprover() {
		return approver;
	}

	public void setApprover(String approver) {
		this.approver = approver;
	}

	public String getApprovalTime() {
		return approvalTime;
	}

	public void setApprovalTime(String approvalTime) {
		this.approvalTime = approvalTime;
	}

	public Integer getSupplierStatementId() {
		return supplierStatementId;
	}

	public void setSupplierStatementId(Integer supplierStatementId) {
		this.supplierStatementId = supplierStatementId;
	}

	public String getBillNumber() {
		return billNumber;
	}

	public void setBillNumber(String billNumber) {
		this.billNumber = billNumber;
	}

	public Long getSupplierId() {
		return supplierId;
	}

	public void setSupplierId(Long supplierId) {
		this.supplierId = supplierId;
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public String getStatementPerson() {
		return statementPerson;
	}

	public void setStatementPerson(String statementPerson) {
		this.statementPerson = statementPerson;
	}

	public Date getBillCreationDate() {
		return billCreationDate;
	}

	public void setBillCreationDate(Date billCreationDate) {
		this.billCreationDate = billCreationDate;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public double getCurrentReceivableAmount() {
		return currentReceivableAmount;
	}

	public void setCurrentReceivableAmount(double currentReceivableAmount) {
		this.currentReceivableAmount = currentReceivableAmount;
	}

	public double getCurrentReceivedAmount() {
		return currentReceivedAmount;
	}

	public void setCurrentReceivedAmount(double currentReceivedAmount) {
		this.currentReceivedAmount = currentReceivedAmount;
	}

	public double getCurrentPendingAmount() {
		return currentPendingAmount;
	}

	public void setCurrentPendingAmount(double currentPendingAmount) {
		this.currentPendingAmount = currentPendingAmount;
	}

	public List<SupplierStatementDetail> getStatementDetails() {
		return statementDetails;
	}

	public void setStatementDetails(List<SupplierStatementDetail> statementDetails) {
		this.statementDetails = statementDetails;
	}

	public ProcuredSupplier getProcuredSupplier() {
		return procuredSupplier;
	}

	public void setProcuredSupplier(ProcuredSupplier procuredSupplier) {
		this.procuredSupplier = procuredSupplier;
	}
}
